#!/usr/bin/env python
# -*- coding:utf-8 -*-
import threading
import time

gl_num = 0
   
lock = threading.RLock()

def Func():
    lock.acquire()  #当某一个线程拿到这个变量就锁上了，别人不能碰
    global gl_num
    gl_num +=1      #第一个线程：gl_num=0+1,第二个：gl_num=1+1，第三个：。。。。。。
    time.sleep(1)
    print gl_num
    lock.release()  #计算完成，释放锁，下一个线程可以去拿了

for i in range(10):
    t = threading.Thread(target=Func)
    t.start()

print '主线程已执行完毕。'